#pragma once
#include <string>
#include <iostream>
#include <stdlib.h>
using namespace std;
class StudentInfo
{
private:
    string name;    // 姓名
    string stuId;   // 学号
    string grade;   // 年级
    string pId;     // 身份证号
    double score;   // 已修学分
    double avgCredit;    // 平均绩点
    string username;     // 用户名
    string password;     // 密码
    // 格式化字符串，生产长度为len的字符串，前面用空格补齐
    // 内部函数
    string stringExtend(string cur, int len);
public:
    StudentInfo();
    StudentInfo(string name, string stuId, string grade, string pId, double score, double avgCredit, string username, string password);
    // 使用cout调试
    void showAll();
    // 学生个人查看时的字符串构造方法
    string toString();
    // 老师查看多行时的字符串构造方法
    string sformat();

    // name的get/set方法
    string getName();
    void setName(string name);
    // stuId的get/set方法
    string getStuId();
    void setStuId(string stuId);
    // grade的get/set方法
    string getGrade();
    void setGrade(string grade);
    // pId的get/set方法
    string getPId();
    void setPId(string pId);
    // score的get/set方法
    double getScore();
    void setScore(double score);
    // avgCredit的get/set方法
    double getCredit();
    void setCredit(double credit);
    // username的get/set方法
    string getUsername();
    void setUsername(string username);
    // password的get/set方法
    string getPassword();
    void setPassword(string password);
};
